package propis;
BEGIN {}

sub post
{
    my ($per)= @_;

    $_1_2[1]="одна ";
    $_1_2[2]="две ";

    $_1_19[1]="один ";
    $_1_19[2]="два ";
    $_1_19[3]="три ";
    $_1_19[4]="четыре ";
    $_1_19[5]="пять ";
    $_1_19[6]="шесть ";
    $_1_19[7]="семь ";
    $_1_19[8]="восемь ";
    $_1_19[9]="девять ";
    $_1_19[10]="десять ";

    $_1_19[11]="одиннацать ";
    $_1_19[12]="двенадцать ";
    $_1_19[13]="тринадцать ";
    $_1_19[14]="четырнадцать ";
    $_1_19[15]="пятнадцать ";
    $_1_19[16]="шестнадцать ";
    $_1_19[17]="семнадцать ";
    $_1_19[18]="восемнадцать ";
    $_1_19[19]="девятнадцать ";

    $des[2]="двадцать ";
    $des[3]="тридцать ";
    $des[4]="сорок ";
    $des[5]="пятьдесят ";
    $des[6]="шестьдесят ";
    $des[7]="семьдесят ";
    $des[8]="восемьдесят ";
    $des[9]="девяносто ";

    $hang[1]="сто ";
    $hang[2]="двести ";
    $hang[3]="триста ";
    $hang[4]="четыреста ";
    $hang[5]="пятьсот ";
    $hang[6]="шестьсот ";
    $hang[7]="семьсот ";
    $hang[8]="восемьсот ";
    $hang[9]="девятьсот ";

    $namerub[1]="рубль ";
    $namerub[2]="рубля ";
    $namerub[3]="рублей ";

    $nametho[1]="тысяча ";
    $nametho[2]="тысячи ";
    $nametho[3]="тысяч ";

    $namemil[1]="миллион ";
    $namemil[2]="миллиона ";
    $namemil[3]="миллионов ";

    $namemrd[1]="миллиард ";
    $namemrd[2]="миллиарда ";
    $namemrd[3]="миллиардов ";

    $kopeek[1]="копейка ";
    $kopeek[2]="копейки ";
    $kopeek[3]="копеек ";

    $s=" ";
    $s1=" ";
    $s2=" ";
    $words="";
    $many=0;

    my $L=$per;
    num2str($L);

    $s =~ s/^\s+|\s+$//g;
    $s =~ s/\s+/ /g;

    return $s;

    sub semantic
    {
	my ($i,$words,$fem,$f,$k) = @_;
	$fl=0;

	if($i >= 100)
	{
	    $jkl = int($i / 100);
	    $words.=$hang[$jkl];
	    $i%=100;
	}

	if($i >= 20)
	{
	    $jkl = int($i / 10);
	    $words.=$des[$jkl];
	    $i%=10;
	    #$fl=1;
	}

	if ($k == 1)
	{
# для копееек
	    if ($i == 1)
	    {
		$fem=1;
#		break;
	    }
	    elsif (($i == 2)||($i == 3)||($i == 4))
	    {
		$fem=2;
#		break;
	    }
	    else
	    {
		$fem=3;
#		break;
	    }
	}

	if ($k == 0)
	{
# для рублей
	    if ($i == 1)
	    {
		$fem=1;
#		break;
	    }
	    elsif (($i == 2)||($i == 3)||($i == 4))
	    {
		$fem=2;
#		break;
	    }
	    else
	    {
		$fem=3;
#		break;
	    }
	}

	if( $i )
	{
	    if( $i < 3 && $f > 0 )
	    {
		if ( $f >= 2 )
		{
		    $words.=$_1_19[$i];
		}
		else
		{
		    $words.=$_1_2[$i];
		}
	    }
	    else
	    {
		$words.=$_1_19[$i];
	    }
	}

	$s2 = $words;
	$many = $fem;
	$many_kop = $fem2;
    }

    sub num2str
    {
	my ($L) = @_;

	$kop=sprintf "%.2f",( $L*100 - int( $L )*100 );
	$L=int($L);

	if($L>=1000000000)
	{
	    $many=0;
	    &semantic(int($L / 1000000000),$s1,$many,3,0);
	    $s.=$s2.$namemrd[$many];
	    $L%=1000000000;
	}

	if($L >= 1000000)
	{
	    $many=0;
	    &semantic(int($L / 1000000),$s1,$many,2,0);
	    $s.=$s2.$namemil[$many];
	    $L%=1000000;

	    if($L==0)
	    {
		$s.="рублей ";
	    }
	}

	if($L >= 1000)
	{
	    $many=0;
	    &semantic(int($L / 1000),$s1,$many,1,0);
	    $s.=$s2.$nametho[$many];
	    $L%=1000;

	    if($L==0)
            {
		$s.="рублей ";
	    }
	}

	if($L != 0)
	{
	    $many=0;
	    &semantic($L,$s1,$many,0,0);
	    $s.=$s2.$namerub[$many];
	}

#Определение копеек
	if($kop > 0)
	{
	    $many=0;
	    &semantic($kop,$s1,$many,1,1);
	    $s.=$s2.$kopeek[$many];
	}
	else
	{
	    $s.=" 00 копеек";
	}

	return $s;
    }

    return $propis = $s;
}

return 1;

END {}